Tracking online conversions attributable to offline events

ABSTRACT

Systems and methods are provided for determining a quantity of network location visitors that are likely generated or encouraged by specific offline events. A corresponding number of leads may then be attributed to and associated with those specific events. Ongoing conversion activity of those visitors may be tracked and associated with the offline events. Conversions of those visitors may be attributed entirely or partially to one or more specific offline events. The effectiveness of each offline may then be evaluated based on aggregate lead and conversion information.

PRIORITY CLAIM

This application claims the benefit of U.S. Provisional Appl. No.61/783,751, filed Mar. 14, 2013, the disclosure of which is herebyincorporated by reference.

TECHNICAL FIELD

This disclosure generally relates to computer systems and methods forassociating activities performed online with offline events.

BACKGROUND

For various reasons, it is desirable to measure usage of onlinenetwork-connected resources, and to attribute portions of such use tooffline stimuli, such as TV or radio advertisements. Yet measuringeffectiveness of TV advertisements is far more challenging than withonline ads. Similarly, optimizing ads to a target demographic is farmore difficult with TV than with online media. Customers almost alwaysview ads on TV and make purchases (i.e. “convert”) through otherchannels including online purchases.

The most common industry approach for understanding who is viewing TVadvertisements is the use of viewer panels. These are volunteer userswho allow their activities to be monitored. The Nielsen panel contains25,000 users (out of approximately 114.5 million television households)and so the Nielsen sample is less than 0.022% of population.

Other techniques for tracking TV ads include embedding special offers,phone numbers or tracking URLs into the advertisement. When a customercalls in to order, the company can uniquely identify the airing whichthe customer viewed because they use the phone number, URL, or redeemthe offer. Such methods are generally referred to as “linking keys”.Linking keys have limited applications since only a small fraction ofthe population will ultimately use the embedded key—often customersconvert without these tracking devices.

Various systems have attempted to attribute conversions to televisionads using statistical models, such as those described in US PatentApplication Publications 2012/0054019 and 2012/0054021.

SUMMARY

Various embodiments of systems and methods are provided herein forattributing online activities to offline events such as television,radio and print advertisements. In one embodiment, an event attributionsystem comprises a network location server accessible to a plurality ofclient devices that may request data from the network location server, alead recognition server configured to uniquely identify client devicesrequesting data from the network location server and to associateidentified client devices with unique identifiers, a lead databasecontaining unique client-device identifiers, request times and requestmetadata for a plurality of client devices that have requested data fromthe network location server, an offline event database containing time,date, location, and metadata for a plurality of offline events, achannel attribution module configured to associate client device requestevents with one or more channels through which client device requestsare made to the network location, and an offline event attributionmodule configured to associate client device request events with offlineevents.

In another aspect, the offline event attribution module may associateclient request events with offline events differently based on one ormore channels with which the client request events are associated. Inanother aspect, the offline event attribution module may be furtherconfigured to determine a lift in a number of client device requestsreceived within a predetermined time relative to an offline event. Inanother aspect, the system may include an activity tracking moduleconfigured to identify activities of identified requesting clientdevices that occur subsequent to a first request by the client devices.In another aspect, the lead recognition server may identify clientdevices using cookies. Alternatively, the lead recognition server mayidentify client devices using device fingerprinting techniques. Invarious embodiments, the offline events may be television advertisementairings, radio advertisement airings, print publication events,billboard posting events, or others.

Another embodiment provides a computer readable medium containinginstructions which, when executed perform the steps of: determining abaseline number of unique network location visitors during a baselinemeasurement time period prior to an ad spot air time; counting ameasurement number of unique visitors to the network location during ameasurement time period beginning at the ad spot air time; calculating alift quantity by subtracting the baseline number from the measurementnumber; and attributing a number of visitors equal to the lift quantityto the ad spot in a database.

In another aspect, the computer readable medium may further includeinstructions for writing to a database of unique users, and attributingvisitors to the ad spot by associating selected unique visitor recordsin the database with an identifier uniquely representing the ad spot inthe database. The computer readable medium may further compriseinstructions for randomly selecting visitor records to be associatedwith the ad spot identifier from a group of unique visitors arrivingduring the measurement period. Alternatively, visitor records to beassociated with the ad spot identifier may be selected based at least inpart on one or more demographic details associated with the visitorrecords. Alternatively, visitor records to be associated with the adspot identifier may be selected based at least in part on a geographiclocation associated with the visitor records.

In another aspect, the computer readable medium may further compriseinstructions for tracking conversion activities of a visitor attributedto the ad spot, where the conversion activities occur after a first-timevisit by the visitor. The computer readable medium may also includeinstructions for associating the conversion activities with the ad spot,and to use the purchasing activities associated with the ad spot todetermine a return on investment for the ad spot.

In one aspect, the baseline time period used by the computer readablemedium may be the same length as the measurement time period.Alternatively, the baseline time period may be a different length (e.g.,longer or shorter) than the measurement time period. The baseline ormeasurement time period may be less than one hour, less than one week,less than one day, or a different length of time.

The unique visitors may arrive at the network location via a directchannel without a referrer, or via a channel selected from the groupconsisting of organic brand search, organic non-brand search,brand-based pay-per-click ads, non-brand-based pay-per-click ads,affiliates, display ads, social networking sites, re-targeting displaybanners, online video sites, mobile device apps, and mobile devicesbrowsers.

Another embodiment provides a computer readable medium containinginstructions which, when executed perform the steps of: determining abaseline number of unique visitors arriving at a network location via afirst channel during a baseline time period; measuring a total number ofunique visitors arriving at the network location via the first channelduring a measurement time period; calculating a first channel liftquantity by subtracting the baseline number from the total number;determining a number of unique visitors to associate with advertisementsfor the first channel; determining a distribution of visitors to beassociated with ad spots; from a set of visitor records of uniquevisitors that arrived via the first channel, selecting visitor recordsto be associated with a plurality of ad spots; and associating theselected visitor records with the plurality of ad spots.

In one aspect, the computer readable medium may further includeinstructions for repeating all steps for unique visitors arriving at thenetwork location via a second channel. The first or the second channelmay be selected from the group consisting of organic brand search,organic non-brand search, brand-based pay-per-click ads, non-brand-basedpay-per-click ads, affiliates, display ads, social networking sites,re-targeting display banners, online video sites, mobile device apps,and mobile devices browsers.

In another aspect, the computer readable medium may further includeinstructions for normalizing a baseline quantity to a 24 hour period.

In another aspect, the computer readable medium may further includeinstructions for determining a distribution of visitors to be associatedwith ad spots based at least partly on a number of gross impressionsassociated with the plurality of ad spots. In another aspect, the stepof selecting visitor records may comprise randomly selecting a pluralityof visitor records. Alternatively, the step of selecting visitor recordsmay comprise selecting visitor records based on at least one demographicdatum associated with the visitor records.

In another embodiment, a computer-implemented method of attributingonline activities to offline television advertisements, the method maycomprise counting a baseline number of unique network location visitorsduring a baseline measurement time period prior to an ad spot air time;counting a measurement number of unique visitors to the network locationduring a measurement time period beginning at the ad spot air time;calculating a lift quantity by subtracting the baseline number from themeasurement number; and attributing a number of visitors equal to thelift quantity to the ad spot in a database; said method performed by acomputer system that comprises one or more computing devices.

In one aspect, the method may further comprise maintaining a database ofunique visitors, wherein attributing visitors to the ad spot comprisesassociating selected unique visitor records in the database with anidentifier uniquely representing the ad spot in the database. In anotheraspect, the visitor records to be associated with the ad spot identifiermay be selected randomly from a group of unique visitors arriving duringthe measurement period. Alternatively, the visitor records to beassociated with the ad spot identifier may be selected based at least inpart on one or more demographic details associated with the visitorrecords. Alternatively, the visitor records to be associated with the adspot identifier are selected based at least in part on a geographiclocation associated with the visitor records.

In another aspect, the method may further comprise tracking conversionactivities of the visitors attributed to the ad spot. In another aspect,the conversion activities may be associated with the ad spot. In anotheraspect, the conversion activities associated with the ad spot may beused to determine a return on investment for the ad spot.

In another aspect, the baseline time period may be the same length asthe measurement time period or a different length (e.g., a longer orshorter time period).

Another embodiment provides method of attributing online activities tooffline television advertisements, the method comprising determining abaseline number of unique visitors arriving at a network location via afirst channel during a baseline time period; measuring a total number ofunique visitors arriving at the network location via the first channelduring a measurement time period; calculating a first channel liftquantity by subtracting the baseline number from the total number;determining a number of unique visitors to associate with advertisementsfor the first channel; determining a distribution of visitors to beassociated with ad spots; from a set of visitor records of uniquevisitors that arrived via the first channel, selecting visitor recordsto be associated with a plurality of ad spots; and associating theselected visitor records with the plurality of ad spots; said methodperformed by a computer system that comprises one or more computingdevices.

In one aspect, the method may further comprise repeating all steps forunique visitors received via a second channel. In another aspect, themethod may further comprise normalizing a baseline quantity to a 24 hourperiod. In another aspect, determining a distribution of visitors to beassociated with ad spots may be performed at least partly on the basisof a number of gross impressions associated with the plurality of adspots. In another aspect, the step of selecting visitor records maycomprise randomly selecting a plurality of visitor records.Alternatively, selecting visitor records may comprise selecting visitorrecords based on at least one demographic datum associated with thevisitor records.

Many other embodiments and aspects of the various systems and methodswill become apparent from the following detailed description and theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth with particularity inthe claims that follow. A better understanding of the features andadvantages of the present invention will be obtained by reference to thefollowing detailed description that sets forth illustrative embodiments,in which the principles of the invention are utilized, and theaccompanying drawings of which:

FIG. 1 is a block diagram illustrating components of an embodiment of aconversion attribution system.

FIG. 2 is a graph of a number of visitors to a network location overtime, illustrating a baseline time period and a measurement time periodfor evaluating the effectiveness of offline advertisements in drivingonline activity according to some embodiments.

FIG. 3 is a process flow diagram illustrating a process for attributingweb leads to a particular advertisement spot.

FIG. 4 is a process flow diagram illustrating a process for attributingweb leads received via a plurality of indirect channels to a particularadvertisement spot.

FIG. 5 is a graph of a number of visitors to a network location overtime during a full day, including day-trend curves based on mathematicalmodels.

FIG. 6 is a graph of a number of visitors to a network location overtime during a portion of a day, showing baseline and measurement timeperiods.

DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS

The various embodiments of systems and methods described herein providefor attribution of online leads and conversions to specific offlinemedia events, such as television advertisements. The present inventorshave determined that in some cases it may be less important to determineexactly which leads and conversions were influenced by TV ads than it isto track an appropriate number of leads and conversions that may bereasonably inferred to have been caused or influenced by a TV ad.

Thus, the various embodiments described herein provide systems andmethods for determining a quantity of leads that are likely generated orencouraged by specific offline (e.g., television) ad spots, thenattributing a corresponding number of leads to those specific ad spots,and tracking ongoing conversion activity of those leads. As a result,any conversions resulting from those leads may be attributed entirely orpartially to one or more specific TV ad spots. The effectiveness of eachad spot may then be evaluated based on aggregate lead and conversioninformation.

By combining a system for identifying unique users (such as a devicefingerprinting system or unique identifiers stored in cookies, flashcookies, local shared objects or other client-side files) with a leadattribution system, it is possible to track online activities of usersand to correlate a portion of such online activity with offline eventssuch as television and radio ads. Either or both of such systems mayoperate in real time or retrospectively using stored data.

FIG. 1 is a block diagram illustrating common elements in someembodiments of a conversion tracking and attribution system 10, such asthose described herein. In such a system 10, a plurality ofuser-controlled client devices 12 (often numbering in the hundreds,thousands or millions of user-controlled devices) may send data 16 toone or more devices at a network location 14, and may receive data 18from the network location 14. A device (e.g., a server) at the networklocation 14 may also transmit 19 client-device-request information to alead tracking engine 30. A lead tracking engine 30 may be configured torecognize and identify leads and to track any or all visit, use orconversion activities performed by those recognized leads. Someembodiments of a lead tracking engine 30 may also include a channelattribution engine 26 configured to associate certain conversion orusage activities of leads with one or more access channels. Someembodiments of a lead tracking engine 30 may also include a leadrecognition engine 22 configured to recognize a returning lead. Someembodiments of a lead tracking engine 30 may include an activitytracking engine 20 configured to identify and recognize specificactivities performed by leads as being conversions or other activitiesto be tracked. In some embodiments, portions of a lead tracking engine30 may use information from a database of offline advertisement data 40.Tracked lead information may be stored in a lead database 50.

As used herein, the term ‘lead’ may refer to a unique visitor to awebsite, web service, or any other network location. For example, anetwork location may include any server accessed as a result of a user'saction on a computing device, even if the user is not aware of theclient-server interaction. Such user interactions may be performed via aweb browser, a web application, a mobile device application, a desktopapplication or any other mechanism. In some cases, the term ‘lead’ asused herein may carry a meaning synonymous with terms such as “user”,“person” or “individual.” In other cases, due to uncertainty as to anidentity behind a ‘lead’, two or more leads may in fact be the sameindividual user. In other embodiments, a single ‘lead’ may be a singleunique network-connected device operated by one or more users.

Typically, a single lead may interact with a network location manytimes. As used herein, each visit by a given lead may be referred to asa “visit” or a “visit event.” In some embodiments, a “visit” or a “visitevent” may be an individual request (e.g., an individual GET requestfrom a particular device to a particular URL). In other embodiments, avisit may be a collection of requests received within a particular spanof time. For example, within one browsing session, a user's device maysend dozens, hundreds or even thousands of requests, even if thebrowsing session only lasts for a few minutes. Nonetheless, an entirebrowsing session may be recorded as a single “visit” for the purposes ofsome embodiments herein.

In some embodiments, a lead record may be initially created in a leaddatabase for a unique first-time visitor to a particular networklocation. When and if that unique visitor returns to the networklocation at a later time to perform additional actions, including one ormore actions defined as a conversion (e.g., making a purchase, creatingan account, subscribing to a service or any other activity defined by anoperator of a network location as a conversion), the lead recordassociated with that visitor may then be further associated with variousdata about the conversion activity, such as revenue, profit, return oninvestment, page views, etc. In some embodiments, a single visitor(lead) record may be associated with any number of conversion events orother activities of any variety of types.

Although in some embodiments, a lead record may have a one-to-onecorrelation with a single real person, it is not necessary to associatepersonally-identifying information with any particular lead record. Infact, it may be desirable to explicitly exclude anypersonally-identifying information from a lead database.

Internet Communications Technologies

Internet communications technologies generally use various standardizedprotocols designed to facilitate client-server interactions during whichclient devices send a request (or other information) to a server at anetwork location and the server responds with additional information orby performing some action. For example, most web-based interactions areperformed using HTTP (hypertext transfer protocol) to allow users toview and manipulate information, and perform other actions with awebsite or other network location.

A typical web page is written in a markup language such as the HypertextMarkup Language (HTML) and/or a hypertext scripting language such asPHP. A web page typically includes a number of embedded objects (e.g.,images, videos, client-executable scripts) referenced by respectiveUniform Resource Locators (URLs). The web page itself is generallyreferenced by a URL, as well. When a user provides a URL of a web pageto a web browser (e.g., by clicking a hyperlink identifying the URL tothat web page, by directly typing in the URL of the web page or byotherwise directing a web browser or other application to request datafrom the URL), the web browser performs a detailed sequence ofprocessing tasks to obtain that web page.

As an example, if the URL of the web page identifies a domain name of aserver computer system on the Internet, the web browser first performs aDomain Name Service (DNS) lookup of the domain name to resolve thisalphanumeric name into the Internet Protocol (IP) address of the webserver on the Internet that can serve the web page referenced by theURL. Once this DNS lookup is complete, the web browser establishes aconnection to the web server (e.g., a Transmission Control Protocol orTCP connection) and uses a Hypertext Transport Protocol (HTTP) totransmit a web page GET request over the connection to the web server.The HTTP GET request contains the URL of the web page to be served bythe server. The web server receives this HTTP GET request, obtains ordynamically generates the web page, and returns the web page as HTML tothe web browser in an HTTP response message over the connection.

As the web browser receives the HTML for the web page, the HTML of theweb page may include many embedded URLs that define other objects withinthe web page to be obtained by the web browser. As an example, an image,script or other object embedded within the web page is typicallyreferenced with an embedded URL that specifies a server, and location(i.e., filename and directory path) within the server of that object. Asthe web browser encounters embedded URL's within the web page, the webbrowser repeats the sequence of processing described above to retrieveeach embedded object from the respective URL. This can includeperforming additional DNS lookups, establishing server connections, andinitiating an HTTP GET request (or POST or other request) to obtain thecontent associated with the embedded URL. Modern web pages often containmany embedded objects and URLs that reference these objects, oftenspecifying different server computer systems from which to obtain theseobjects. As a result, the process of obtaining the complete contentassociated with a single web page including all embedded objectsinvolves significant processing and communications activities.

Other internet communications between user-controlled client devices andservers at network locations may use other protocols and technologies.For example, many websites and web-based applications use Adobe Flash,HTML5, ActiveX, Java, PHP, etc. In addition to these network protocols,many mobile devices communicate with wireless networks using long-rangewireless communications technologies such as GPRS, EDGE, UMTS, WCDMA,HSDPA, EVDO, WIMAX, and LTE, or short-range communication protocols suchas WiFi, Bluetooth, RFID, NFC, etc. Some mobile devices may also beconfigured to run applications that communicate with network locationsover one or more networks using WAP (wireless application protocol) orothers.

As will be clear to the skilled artisan, in some embodiments, componentsof a conversion tracking and attribution system may utilize any suitablehardware configuration. For example, in some embodiments two or morecomponents, such as a database server and an application server, may beimplemented in a single hardware server device. In other embodiments, anapplication server and a database server may each comprise severalhardware servers, depending on the anticipated request volume and otherrequirements of a particular system. Any other arrangement using anynumber of physical or virtual servers may alternatively be used. Forexample in some embodiments, some system components may use inexpensivecommodity hardware. In some embodiments, some system components mayreside in a “cloud” or virtual environment in which resources areshared, such as a network and/or virtual machines.

Client devices may include any of a variety of hardware and/or softwareelements capable of sending data requests to—and receiving responsesfrom an application server. As used herein, computing devices, server,and network portal device refer to devices with a processor, memory(e.g. volatile storage) and accessible non-volatile data storage. Thecomputing devices can comprise, for example, personal computers, servercomputers, main frame computers, computing tablets, set top boxes,mobile telephones, cellular telephones, personal digital assistants(“PDAs”), portable computers, notebook computers, RF readers, barcodereaders, laptop computers or any variations thereof now in use ordeveloped in the future. Computing devices may run an operating system,including, for example, variations of the Linux, Unix, Microsoft DiskOperating System (“MS-DOS”), Microsoft Windows, Palm OS, Symbian,Android OS, Apple Mac OS, and/or Apple iOS operating systems. Ingeneral, a computing device may be coupled with a display. Forconvenience, display representations can be referred to as a graphicaluser interface or GUI, but in general this is intended to refer totraditional GUI formats, three dimensional display representationsand/or future developed display formats as well as variations thereof.Additionally, “volatile memory” as used herein refers to memory thatrequires power to maintain the information stored therein. Volatilememory can include, for example, random access memory (“RAM”) orvariations thereof, such as DRAM.

Furthermore, as used herein, a data storage device refers to any deviceconfigured to temporarily or permanently store information in a digitalformat. A data storage device can be physically integrated with acomputing device or can be a distinct device coupled to a computingdevice through a wired or wireless network connection. A data storagedevice can comprise for example one or more disk storage devices such astape drives (analog or digital), floppy disk drives, ZIP disk drives,holographic data storage units, optical disk drives such as CD, DVD orBlu-ray Disc drives, minidisc drives, or hard disk drives; or flashmemory/memory card storage devices such as xD-Picture card, MultiMediaCard, USB flash drive, SmartMedia, Compact Flash, Secure Digital, SonyMemory Stick, or solid state drive; or read only memory (“ROM”); or anycombinations thereof. Data stores described herein may be located on asingle data storage device or may be distributed across a plurality ofdata storage devices in whole (e.g., mirrored) or in part.

In some embodiments, an activity tracking system and/or a leadrecognition engine, or other systems may utilize objects embedded withina web page that may include one or more cookies, scripts or othersoftware component configured to identify unique visitors and to track auser's activities on the website in order to identify conversion andother activities. In some embodiments, such scripts may also beconfigured to attribute recognized conversion activity to one or moreadvertisements, web pages, blog posts, searches or other informationthat may have influenced the conversion.

In some embodiments, a lead database 50 associated with an ad conversiontracking system may also contain information associating ad impressions,users, leads, conversion events, or other information with one or moreof several channels. In some embodiments, associating users, leads orother data with a channel may be performed with the use of a channelattribution engine 26. In some embodiments, a channel attribution enginemay also communicate with and use information from an advertisementdatabase 40.

As used herein, the term “channel” carries its ordinary meaning asunderstood by those skilled in the art of online advertisementconversion tracking, and generally refers to one or more categories orpathways by which a user is directed to a website, online service orother network locations (such as mobile phone applications ordownloadable digital media). For example, an “organic search” channelmay identify those users who arrive at a website after performing asearch with a search engine (such as GOOGLE.com). In some embodiments,an organic search channel may be sub-divided into “brand search” and“non-brand search” to distinguish cases in which users searched for abrand name from those in which users searched for some other term. Asanother example, a “direct” channel may include events in which a uservisits a website by directly typing a URL into a web browser. Furtherexamples of channels and channel attribution are described below.

Various database systems may be used in the systems and methods hereinto track and store information about individual network locationvisitors, leads, conversions, channels, advertisement spots and anyother information as desired. In various embodiments, such databasesystems may use any suitable computing hardware and database managementsystem software as desired. For example, in some embodiments, any of thevarious database systems herein may comprise a relational databasemanagement system such as MYSQL, PostgreSQL, MS SQL Server, Oracle,Sybase, or any other suitable system. Database systems may also beaccessible using any suitable query language, such as SQL, XQuery orothers. As will be clear to the skilled artisan, a relational databasetypically contains a number of tables with inter-related informationsuch that rows in one table may be associated with rows in another tableby a common field such as a unique identifier. In alternativeembodiments, any of the various types of NoSQL database managementsystems may be used (such as Key-value Store systems, BigTable systems,Document-Store systems and Graph Database systems). In some embodiments,a Persistent Distributed Key-Value Store database management system maybe particularly well-suited to addressing latency and scalingconstraints. In particular, distributed Key-Value Store databases aredesigned for efficient, low-latency read-write operations by key,usually through the use of a distributed hash table. Furthermore, suchdistributed Key-Values Store databases can be generally much easier toscale by adding more nodes and re-distributing the data. Examples ofKey-Value Store database management systems include, but are not limitedto, Virtuoso Universal Server, OpenLink Virtuoso, Membase, Memcached,MemcacheDB, Cassandra, Hbase Riak, Redis, and Couchbase.

Embodiments of Lead Tracking Engines

In various embodiments, a Lead Tracking Engine 30 may include a leadrecognition engine 22 configured to recognize leads and an activitytracking system 20 configured to track activities of those leads withone or more network locations. In some embodiments, a lead recognitionengine 22 may utilize any of various device fingerprinting techniquesfor consistently recognizing and identifying returning leads (e.g.,users or devices). U.S. Pat. No. 6,496,824 titled “Session ManagementOver A Stateless Protocol”, illustrates and describes a system formaintaining state over a stateless protocol by identifying unique usersbased on unique device fingerprints.

U.S. patent application Ser. No. 13/530,989 titled “Systems And MethodsFor Identifying A Returning Web Client” (hereafter, “the '989Application”), which is incorporated herein by reference in itsentirety, illustrates and describes systems, methods and data structuresfor rapidly identifying a matching device fingerprint of a returningclient device in order to recognize returning leads or to identify avisiting client device as a first-time-visitor within milliseconds. Insome embodiments, such device information may be further correlated withuser-profile information (such as a list of client devices from which asingle user has signed on to a service) to associate multiple recognizeddevices with a single user (or lead).

Once a lead associated with a particular event (e.g., a new visit orrequest to the network location) has been identified by the leadrecognition engine, information about the event may be associated withthe recognized lead record in the lead database 50.

An activity tracking system 20 may include features and systems foridentifying and tracking activities performed by leads based onidentified events. Sophisticated client-server software systems allowusers to perform transactions within a network location such aspurchasing goods or services. In some cases, such purchases may occur inone-time transactions or as one or more up-sells (e.g., a premium add-onservice). Other types of transactions might involve subscribing to aservice, making a reservation, signing up for an account, signing up toreceive more information, providing personal information, sending orretrieving a message, navigating through a sequence of web pages toobtain desired content, performing searches for user specifiedinformation and so forth. Depending upon the purpose of the networklocation, any of these or other activities may be defined as a“conversion”. In addition, non-conversion activities may also be trackedand associated with a lead.

In some embodiments each lead record in the lead database 50 may beassociated with additional meta data about the visitor or about eachunique visit. Such metadata may be determined by the activity trackingsystem, by the channel attribution engine or other systems, and mayinclude information such as the date and time of the lead's first visit,the date and time of some or all return visits by the lead, a number ofreturn visits, a specific URL(s) visited, a referrer or channel thatdirected the user to the network location, user agent information (e.g.,a web browser used, a computer operating system, etc.), information froma social networking site, an IP address, geo-location data, etc.

A typical HTTP request includes the following information: the UniformResource Locator (URL) of the Web page to be accessed, a “User-Agent”header and might include also “Accept” and/or “Accept-Language” headers.The User-Agent header may indicate the browser sending the request andthe operating system of the computer on which the browser is running. Insome browsers, the language of the operating system may also be sent inthe User-Agent header, while in others the OS language may be sent inthe Accept-Language header. The Accept header contains the MIME typessupported by the browser. The IP address of the client is part of theunderlying IP packet. If the client is accessing the Internet through aproxy server, then it is the proxy's IP address which is sent as part ofthe underlying IP packet. Some proxies report the client's IP address inan additional HTTP header dedicated for that purpose, for example the“Forwarded-For” header or “Client-IP” header. Any of these pieces ofinformation, information derived from these, or any other data may beassociated with a lead record within a lead database 50.

In other embodiments, various additional attributes or pieces ofinformation may be stored and associated with a particular lead record.For example, visit date/time information may be presented or stored inany desired format, such as a day part (e.g., “morning”, “afternoon”,“evening”, “night”), a day of the week, an indication of weekday vs.weekend, a month, a quarter, a year, etc. To the extent such informationis available and known for a given lead, geographic or demographicinformation such as a city, state, country, zip code, designatedmarketing area (DMA), a visitor's age, gender, education level, incomelevel, marital status, etc. Any of these pieces of information,information derived from these, or any other data may be associated witha lead record within a lead database 50. As will be clear to the skilledartisan, a nearly infinite variety of metadata may be associated withany given lead.

As used herein, the terms “TV Ad spot,” “ad spot” or simply “spot” mayrefer to a single airing of a single advertisement item (e.g., atelevision advertisement, television program, news program, radio ad,radio program, radio news piece, or other broadcast item to be tracked)on a particular station at a particular time, and possibly in aparticular geographic region (e.g., time zone, zip code or DMA). In someembodiments, an identifier referring to a specific single advertisementspot may be stored in a database. Each ad spot identifier may also beassociated with additional information, such as a television network onwhich the spot was aired, a network type (e.g., “news network”,“broadcast network”, “cable network”), a time at which the spot aired, atime zone in which the spot was aired, a television program during whichthe spot was aired, a marketing channel associated with the spot, anindication of whether the spot was paid (such as a paid advertisement)or unpaid (such as coverage by a news program), a time length of thespot, a rating size of a viewing audience, a linking key, etc. As willbe clear to the skilled artisan, a nearly infinite variety of metadatamay be associated with any given spot.

Additionally, television ratings data such as data gathered by theratings firm NIELSEN COMPANY may be associated with one or more offlinead spots. Using data from the NIELSEN COMPANY or others, an ad spot maybe associated with various items of meta-data providing furtherinformation about the ad spot. For example, such metadata may include anumber of gross impressions (i.e., an estimated total number oftelevision viewers to whom the spot was shown), a ratings share value(i.e., the percent of TV-equipped households in a particular geographicregion), information describing the demographic breakdown of the likelyviewers of an ad spot, or other quantitative or qualitative ratingsinformation about an ad spot or likely viewers of an ad spot.

Various embodiments of the systems and methods described herein maycomprise a lead conversion tracking and attribution system and/ordatabase. A lead conversion tracking and attribution system maygenerally include any software and/or database system configured forassociating leads and/or conversion events with one or moreadvertisement impressions to which a user/customer is exposed. When itcomes to online ads and online sales, the advertisement responsible fora particular sale or other conversion event may generally be attributedthrough a process known as online conversion tracking. An onlineconversion tracking systems may generally be configured to track everyonline media event (e.g., banner ads, plain text ads, email ads, searchresults, online video ads, etc.) to which each user is exposed as wellas each online conversion event. Conversion events may then beattributed to one or more online media events determined to have‘caused’ or contributed to the conversion by linking a converted user toone or more media events presented to that user.

Many different online conversion tracking systems and methods exist,some of which attribute a conversion event entirely to the “last click,”i.e. the final ad that is clicked leading to a customer making apurchase is given 100% of the credit for leading to the conversion. Moresophisticated systems are able to attribute conversions to a wider rangeof online media events, potentially giving partial credit for a singleconversion to multiple online media events. However, many conversiontracking systems are still generally limited to tracking connectionsbetween online media events and online conversion events.

Some systems exist for associating online conversion events with offlinemedia events, such as TV, radio or print advertisements (e.g., newspaperads, magazine ads, direct mail ads, etc.). Some systems for making suchassociations may utilize a linking key—a unique URL, promotional code orother identifying information that is specifically associated with aparticular advertisement by the conversion tracking system. In additionto associating offline media events with actual online conversions, someembodiments of conversion tracking systems may be configured to trackonline pre-conversion events (i.e., network location visits or otheronline events by users that may convert in the future) which may also beassociated with one or more offline media events.

In addition to online channels, a conversion tracking system databasemay also include offline channels such as “radio”, “TV” or “print.”Table 1 below lists several other online and offline channels that maybe used in connection with various embodiments of the systems andmethods described herein. A channel attribution engine 26 may generallybe configured to identify a channel through which a particular visitevent arrives at a network location, and may be configured to pass suchinformation to other system components such that a lead record or avisit record for a particular lead may be associated with the identifiedchannel. Various embodiments of an offline advertisement attributionengine 32 are described below. Attribution engines for other channels 34may include any suitable available systems, components and methods.

TABLE 1 Examples of Marketing Channels to be Tracked Channel DescriptionOrganic SEO (Search Engine Optimization) for brand terms Brand SearchOrganic Non- SEO for non-brand terms Brand Search PPC Brand SEM (SearchEngine Monetization), search engine advertisements returned in responseto brand search terms PPC Non- SEM, search engine advertisementsreturned in Brand response to non-brand search terms Affiliates Emails,blog posts or other information produced or distributed by affiliatedsites or users Display Banner advertisements Business Revenue SharingPartnerships Development Social Social media sites such as Facebook,Twitter, Pinterest, LinkedIn, etc. Email Acquisition Emails Re-targetingDisplay Banner Campaigns Direct Direct Visits to the network locationunder evaluation Radio Radio Advertisements Print/Out-of- Print, DirectMail, Billboards, Point of Sales, Home/offline 800 numbers, etc. MobileDigital Phones, Tablets TV Television advertising attribution OnlineVideo Ads or links from online video sites such as YouTube, Hulu, etc.Others/WOM Other Channel/Word-of Mouth

Attributing Online Leads to TV Ad Spots (Single Channel)

In some embodiments, a portion of the lead visits received through asingle channel, such as a “Direct” channel may be attributed to aspecific television advertisement spot based on the timing of the leadvisits relative to the ad spot. Various embodiments of such methods mayinvolve defining a measurement window as a period of time following thetime an advertisement is aired. Measurement may include determining atotal number of leads received during the measurement window.Subtracting a baseline number of leads from the total measurementprovides a “lift” or an increase in direct lead traffic that may beattributed to the ad spot. In some embodiments, the baseline may beestablished by determining a number of lead visits received during abaseline measurement period. In some embodiments, the baselinemeasurement period may be the same time duration as the measurementperiod, and may occur immediately prior to the spot start time.

In some embodiments, lead visits detected during a baseline periodand/or during a measurement period may be counted only once for eachunique lead, even if a single lead is associated with multiple leadevents during a baseline or measurement period. This may be madepossible by the lead recognition engine. In such cases, each lead may beassociated with a time and metadata from the first, last or average ofthe multiple visit events.

As one example, take an advertisement spot ‘A’ that is scheduled to airat 10:38 pm EST. If the baseline period and the measurement period areselected to have a duration of one hour, then the baseline may bedefined as the total number of direct lead visits received by thenetwork location during the 1 hour time period leading up to the startof the ad spot (e.g., 3,500 leads in this example). The total number ofdirect lead visits received by the network location during themeasurement period may be measured beginning at the start of the ad spotand ending one hour later (e.g., 4,145 in this example). The baselinequantity may be subtracted from the total number of lead visits receivedduring the measurement period in order to obtain the “lift”—i.e., thequantity of direct lead visits that may be attributed to the ad spot.

Using the values in the example above, a lift of 645 leads was measuredfor the ad spot. Therefore, 645 direct lead visits received during themeasurement window via the “Direct” channel may be attributed to the“TV” channel. In other embodiments, those leads are merely associatedwith the “TV” channel while also retaining an association with the“Direct” channel. Those 645 leads (or specific lead visit records) mayalso be associated with the specific ad spot identifier along with anyfurther metadata relating to the ad spot. In some embodiments, suchassociating of leads may be performed by changing or appendinginformation in the lead database to indicate that those 645 lead visitswere caused or influenced by the TV ad spot.

In some embodiments, the measurement period may be defined to be asufficient length of time after the start of the advertisement spot thatan entire increase in lead visits relative to the baseline may bereasonably attributed to the ad spot. Such a time period may varydepending on factors such as spot frequency, spot length, or otherfactors. In some embodiments, a lower spot frequency may require alonger measurement window (e.g., up to 1.5 hours or longer). In someembodiments, the measurement period may be anywhere between about 5minutes and about three hours. In other embodiments, the measurementperiod may be between about 15 minutes and about 1.5 hours. In otherembodiments, a measurement period may be defined based on an end time ofa spot. For example, in some embodiments, a measurement window mayextend from about 15 minutes to about 1.5 hours after the end time of aspot. In other embodiments, a long-term measurement may be made usingbaseline and measurement periods of weeks or months.

In some embodiments, individual leads to be attributed to a givenoffline ad spot may be selected at random. That is, of all of the leadsarriving via the Direct channel during the measurement window,individual records selected at random may be attributed to the offlinead spot until the “lift” quantity of leads has been attributed. In someembodiments, leads to be attributed may be randomly selected from a setof leads that arrived within a time period (e.g. a day or day part)and/or from a geographic region associated with the time and geographicregion in which the spot aired, or based on other known geographic ordemographic information. In other embodiments, individual leads or leadvisits to be associated with the TV channel may be selected according toan algorithm such as last-in-first-out or first-in-first out. Forexample, using a first-in-first-out algorithm, direct lead or leadvisits may be counted as they arrive and once the count reaches thebaseline, all leads arriving after that time may be attributed to the adspot.

In other embodiments, individual leads to be associated with an offlinead spot may be identified based, at least in part, on correlationsbetween metadata associated with the ad spot and metadata associatedwith one or more leads. For example, if the ad spot is associated with aparticular geographic region (e.g., a broadcast region), then leads whoare within the same geographic region who also visited the networklocation during the measurement period may be selected before leadsoutside of the geographic area. In other examples, correlations may bemade based on demographic information or any other available metadata.In further embodiments, such metadata correlations may be used to assignweighting factors to leads, such that leads with strong metadatacorrelations may be selected at a higher frequency, but not exclusivelyof leads with weaker or no metadata correlations. Any statisticalmethods may be used to make such selections.

Another example embodiment of a process for attributing online leadsarriving via a single channel (such as the “Direct”) channel to specificoffline ad spots will now be described with reference to FIGS. 2 and 3.FIG. 2 illustrates a graph of number of lead visits received by anetwork location under evaluation on the vertical axis 100 and timeincreasing from left to right along the horizontal axis 112. The solidline 102 illustrates the start-time of an ad spot for which a direct (orother) channel lead measurement is to be taken. The left dashed line 104represents the beginning of the baseline measurement period 106, and thedashed line on the right side 108 represents the end of a leadmeasurement period 110.

FIG. 3 illustrates an embodiment of a process flow diagram of a process200 for attributing leads received via the direct channel to aparticular advertisement spot. In some embodiments of such a process200, a channel to be evaluated may be selected 201, and a baselinenumber of lead visits may be determined 202 during a baseline period(106 in FIG. 2). A total number of lead visits may be counted 204 duringa measurement period (110 in FIG. 2), and a lift in the number of leadvisits may be calculated 206 by subtracting the baseline quantity fromthe total number of lead visits received during the measurement period.A number of leads equal to the lift quantity may then be selected fromthe leads in the selected channel and the selected leads may beassociated 208 with the advertisement spot which aired at the start ofthe measurement period.

In order to determine a baseline quantity (B′) of lead visits receivedduring a “normal” time period, the system may count all lead visitsreceived by the network location during the baseline period 106. Alllead visits received during the measurement period 110 between the adspot start time and the measurement period end point 108 may also becounted to obtain the lead measurement (‘M’). Subtracting the baselinefrom the lead measurement yields the “lift” (‘L’) or the total increasein lead visits relative to the baseline during the measurement window.

In some embodiments, the baseline measurement period 106 may be the samelength of time as the lift measurement period. In other embodiments, thebaseline measurement period may be a longer or shorter duration than thelift measurement period. In some embodiments, when a baseline period isa different time length than the corresponding measurement period, anormalizing ration may be applied to one or both measured values. Forexample, if a measurement period is three times as long as acorresponding baseline period (e.g., a baseline period of 30 minutes anda measurement period of 90 minutes), a quantity of leads identifiedduring the baseline period may be multiplied by three in order tonormalize the baseline to the same time period as the measurementperiod.

In various embodiments, the length of the baseline and measurementperiods may be determined manually, such as by empirical observation ofresults. In such embodiments, the length of a baseline and/ormeasurement period may be selected based on an analysis of traffic tothe site for which leads are to be tracked. Depending on the frequencyof visits to the site, a shorter or greater time period may be needed inorder to collect a statistically significant number of visits to use asa baseline, and from which to calculate a lift quantity. Thus, ananalysis of visit traffic to the site may be performed in order todetermine the length of a baseline and/or measurement period duringwhich a sufficient number of visits are likely to be seen. In someembodiments, the baseline and measurement periods may be evaluated aftercollecting information from leads during a substantial time period, suchas weeks or months. In other embodiments, any other method fordetermining the lengths of the baseline and measurement periods may alsobe used.

In some cases, advertisement spots may run close enough together thatthe measurement period of a first (earlier) spot overlaps a measurementperiod of a second (later) spot. In some embodiments of such cases, eachselected lead may be attributed to the ad spot with a start time closestto the time at which the lead visit occurred. In other embodiments ofsuch cases, selected lead visits occurring during the overlapping timeperiod may be attributed exclusively to the earlier ad spot or to thelater ad spot. In still further embodiments, some or all lead visitsreceived during such overlapping time periods may remain un-attributed.In other embodiments, ad spots may be processed in a sequence based ongross impressions or other ad spot metadata, such that more of theoverlapping lift leads are attributed to a first ad spot, and theremainder may be attributed to the second (or third, etc.). In stillother embodiments, a lift quantity for one or both of two overlapping adspots may be constrained or refined based on observations of lead liftsfrom the same ad spot run during prior or subsequent times when therewas no overlap.

In some embodiments, adjustments may need to be made to account for timezone differences. For example, a TV conversion attribution system mayoperate using a convention of Eastern Standard Time (EST), whileadvertisement spots may be aired in different regions of the country atdifferent times. For example, a scheduled ad spot may be broadcast atthe same local hour in multiple time zones. In other cases, anadvertisement transmit during a live broadcast may be broadcastsimultaneously in all time zones. For example, a live broadcast transmitat 8:00 PM EST would be broadcast in California at 5:00 PM PST.

In some cases, a number of lead visits received during a measurementperiod may be less than the number of lead visits received during acorresponding baseline period. In such situations, the resulting liftmay simply be set to zero, meaning that no leads need be attributed tothe ad spot. In other words, a negative lift quantity may be normalizedto zero.

Cross-Channel Attribution of Leads to TV Ad Spots (Halo Effect)

Users do not all behave the same. As such, while some users who see anoffline advertisement may simply type in a URL for the network location,others may use a search engine, a social network site, or any number ofother avenues to seek further information about the entity or productthat was the subject of the advertisement. Thus, at least some number oflead visits arriving through at least some other channels are likelyinfluenced by television advertisements. Thus, in addition toattributing leads from the direct channel to an ad spot, it is alsodesirable to attribute leads from other channels to offline ad spots inproportion to a measured increase in lead visit traffic. These otherchannels will be collectively referred to herein as “indirect channels.”

In some embodiments, increased lead visit traffic received by a networklocation via any of the indirect channels mentioned below may beattributed to an ad spot using the systems and methods described above.In other embodiments, lead visits received via indirect channels may beattributed to one or more ad spots using a similar, but slightlydifferent approach. Attributing online activity to TV ads (or otheroffline advertisements) may generally involve adding an offline ad-spotassociation to leads (or lead visits) that would otherwise be attributedsolely to an existing online channel. In some embodiments, the methodsdescribed below may also be applied to leads received via the directchannel.

In some embodiments, a process of attributing indirect channel leads toTV ad spots may proceed similarly to the process described above withreference to single-channel (e.g., direct channel) lead attribution witha few notable differences. For example, a substantially longer timeperiod (e.g., weeks, months or longer) may be used for calculating anindirect channel baseline. Additionally, a lift in the number ofindirect lead visits may be measured and attributed to TV advertisementson a rolling basis rather than within a fixed measurement windowrelative to a particular ad spot. Further differences exist in othermethods of determining a number of leads to attribute to offline ads andin methods of attributing leads to specific Ad spots.

Table 2 illustrates examples of tracked channels that may receiveincreased traffic as an indirect result of television advertisements.

Channel Description Organic Brand SEO (Search Engine Optimization) forbrand terms Search Organic Non- SEO for non-brand terms Brand Search PPCBrand SEM (Search Engine Monetization), search engine advertisementsreturned in response to brand search terms PPC Non- SEM, search engineadvertisements returned in response Brand to non-brand search termsAffiliates Emails, blog posts or other information produced ordistributed by affiliated sites or users Display Banner advertisementsSocial Social media sites such as Facebook, Twitter, Pinterest,LinkedIn, etc. Re-targeting Display Banner Campaigns Print/Out-of-Print, Direct Mail, Billboards, Point of Sales, 800 Home offlinenumbers, etc. Online Video Ads or links from online video sites such asYouTube, Hulu, etc. Mobile Digital Phones, Tablets Other/WOM OtherChannel/Word-of Mouth

FIG. 4 illustrates an embodiment of a process 300 for attributing leadsreceived through indirect online channels to specific TV advertisementspots. In the illustrated embodiment, the process may begin by choosinga channel 302. A baseline quantity of leads may then be determined 304for the selected channel by analyzing historical web traffic datareceived through the selected channel. In some embodiments, the baselinequantity may then be normalized 306 to a 24 hour (or any other timeduration) period. Then, during each 24 hour period, the number of leadsreceived on the selected channel may be measured 308, and a liftquantity may be calculated 310 by subtracting the baseline from thetotal number of received leads. In other embodiments, the normalizationstep 306 may be omitted. As with previous embodiments, the lift quantitymay represent the number of leads from the selected channel to beattributed 311 to one or more ad spots in the TV channel.

In some embodiments, a number of leads equal to the lift quantity (‘X’)may be attributed to specific advertisement spots in proportion to thegross impressions of each ad spot as reported by a television ratingagency (e.g., NIELSEN). Thus, in some embodiments once a total number ofleads from the selected channel to be attributed to offline ads isdetermined 311, a distribution of leads to ad spots may be determined312. In some embodiments, a distribution of leads to ad spots may bedetermined based on a proportion of gross impressions for each ad spot.Individual leads, which may be selected at random or may be selectedaccording to an algorithm 314 (e.g., as described above), may beattributed 316 to the ad spot which occurred nearest in time prior tothe lead visit. In some embodiments, leads may be attributed to the adspot that occurred nearest in time to the lead visit within a fixed timeperiod relative to the lead visit. For example, a lead may be attributed316 to the ad spot which occurred nearest in time within a 24 hour, 48hour or other time period prior to the lead visit. The steps ofselecting leads 314 and attributing leads 316 may be repeated until thetotal lift quantity (‘X’) of leads have been attributed to an ad spot.The above process may then be repeated 318 for each remaining indirectchannel.

In some embodiments, the step of calculating a baseline 304 for eachchannel may include evaluating historical network traffic data (e.g.,including data from all lead visits to a network location, and anyassociated data or metadata) received via the selected channel. In someembodiments, such historical analysis may be performed on a rollingbasis. For example, in some embodiments details of all lead visittraffic to a network location may be monitored and stored over asubstantial period of time (e.g., days, weeks, months, years), includinginformation about specific leads, specific users, device fingerprints,channels, visit events, and any other information.

In some embodiments, establishing a baseline may be performed bycalculating a daily average number of visit events received via one ormore of the channels over a period of a week, a month, a year, etc. Suchinformation may be updated on a rolling basis. For example, if data isupdated on a rolling one-week basis, each successive day, the averagemay be calculated using data from the immediately prior seven days.Similarly, a monthly rolling average may be updated using informationfrom the previous 30 days, or using any other length of time as desired.In some embodiments, a daily average may be determined for a particularchannel by counting a total number of visits received via that channelfor each day in a chosen time period, and then calculating a simpleaverage of the daily totals. In other embodiments, a baseline may becalculated using a more complex algorithm. For example, intra-dayvariations in traffic may be detected, and a baseline may be defined asa polynomial or other function.

In some embodiments, determining a baseline 304 may further comprisemeasuring a baseline level of growth in lead visits received through agiven channel. Under normal circumstances, a number of lead visitsreceived through a given channel should increase as more users becomeaware of the network location and visit through the given channel. Thisnormal level of growth may be measured over a period of time (e.g.,about four weeks prior to beginning a TV advertising campaign, in someembodiments) in order to establish a baseline for normal lead levelsaccounting for normal growth in the absence of a TV or other offline adcampaign. In some embodiments, the baseline may also be further revisedduring a time period after an offline ad campaign is initiated (e.g.,about four weeks in some embodiments). If data for a time period priorto initiating an offline ad campaign is not available, a baseline levelof growth may be estimated based on short-term fluctuations in thenumber of received lead visits during and between the airing of adspots.

In some embodiments, the baseline may be a single integer value. Inother embodiments, a baseline may be a range of values representing a“normal” baseline number of visits. For example, in some embodiments abaseline may be defined as the average number of daily visits plus orminus one standard deviation. In still further embodiments, a baselinemay be a time-varying function of network location visits vs. time. Suchbaseline functions may include linear functions, polynomial functions,multi-degree polynomial functions, or any other time-varying function

In some embodiments, a lift quantity in a number of visits receivedthrough a particular channel may be determined by taking a simpledifference between an actual number of received visits and a baselinenumber of visits (e.g., when the baseline is a single value). In otherembodiments, when a baseline is defined as a range of values, a liftquantity in a number of visits received through a particular channel maybe determined by subtracting a minimum baseline value, a maximumbaseline value, or an average baseline value from an actual number ofreceived visits, as long as the actual number of visits is greater thanthe minimum baseline value. In embodiments in which the baseline is afunction, a lift quantity may be calculated by fitting a function to theactual visit data over a period of time (e.g., a 24 hour day) andmathematically finding the difference relative to the baseline function,by a numerical solution, or instantaneously by finding the differencebetween the actual visit data and the baseline function over short-timeperiod segments (e.g., a short time segment may be ‘x’ seconds orminutes, where ‘x’ is any non-zero value).

In one example, a number of lead visits may be evaluated for multiplesimilar time periods. Time periods may be defined as “similar” based onany criteria as desired. In the following example, the “similar” timeperiods are 24-hour days beginning at 12:00 AM on Mondays. The datacollected during such time periods may then be compared (such as byaveraging) to detect trends. Subsequent time periods that are deemed tobe similar to the evaluated time periods may then be assumed to followthe same pattern of visit activity under similar conditions. The modelmay then be divided into discrete segments, such as by defining a numberof model-predicted visits during each minute of a Monday. Lift duringeach minute may then be calculated by subtracting the actual number oflead visits from the model-predicted value for that minute.

An example of calculating lift while removing the effects of a dailytrend may be understood with reference to FIG. 5 and FIG. 6. The graph500 of FIG. 5 illustrates embodiments of daily trend models 520, 530compared with a plot of actual collected visit data 510. A number ofunique visitors to a network location is plotted along the vertical axis502 and time (in minutes) is plotted along the horizontal axis 504. Thejagged line 510 is a plot of actual visit data, where each pointrepresents a number of visitors within a 15-minute period. The actualdata 510 may be modeled using a polynomial function. The two curvedlines 520, 530 represent polynomial functions fit to the actual data, inwhich two distinct “bumps” can be seen in the middle of the day as wellas significant upswing and downswing trends in the morning and in theevening. In this example, 6^(th) degree 520 and 10^(th) degree 530polynomial functions were fit to the data. In addition to this one-daytrend, several hours before and after the day may also be modeled toaccount for the attribution of spots with baseline or measurementwindows overlapping the beginning or end of the day.

Once a daily trend model has been developed, the model may be used incalculating lift while accounting for daily trend variations in thenumber of lead visits.

FIG. 6 is a graph illustrating a segment of a daily trend line 610 and aplot 620 of the actual number of unique visitors to a network locationdetected during the same time period. The center solid line representsan ad spot start time 630, the left dotted line 640 marks the beginningof the baseline window period 66 (also referred to as the “pre-spotwindow” or the “pre window”) and the right dotted line represents theend of the measurement window period 670 (also referred to as the“post-spot window” or the “post window”).

Various algorithms may be used to calculate lift normalized by the dailytrend model (or any other modeled trend). For example, in oneembodiment, a lift calculation algorithm comprises:

-   -   Determining the total volume of visits predicted by the model        during the pre window    -   (V_model_pre) by evaluating each minute of the model falling        within the pre window and summing the result, and determining        the total volume of visits predicted by the model during the        post window (V_model_post) in the same manner;    -   Determining the actual number of visits received during the pre        window (V_actual_pre) by summing all visits received during the        pre window, and similarly determining the actual number of        visits received during the post window (V_actual_post);    -   Calculating a lift normalization factor (L_norm) using the        equation:

L_norm=V_model_post−V_model_pre

-   -   Calculate the raw lift factor (L_raw) using the equation:

L_raw=V_actual_post−V_actual_pre

-   -   Calculate the normalized lift, (L final) using the equation:

MAX(0,L_raw−L_norm)

In alternative embodiments, other algorithms may be used for calculatinglift while removing increases attributable to daily or other trends.

Returning to FIG. 4, in some embodiments, calculating a baseline for aselected channel 304 may involve analysis of lead behavior over a longperiod of time (e.g., days, weeks, months, etc.) both before and afterbeginning an ad campaign to distinguish baseline leads from “lift”leads, and to distinguish “lift” from lead growth that may beattributable to other channel factors.

In an alternative embodiment of the process 300, the steps ofcalculating and normalizing a baseline may be omitted, and a “lift rate”may be assumed or calculated based on historical data for a particularchannel. For example, in some embodiments a predetermined percent oftotal visits received via a given channel may be assumed to have beeninfluenced by television advertisements. In some embodiments, such apredetermined percent value may be calculated based on historical datain a manner similar to that described above. For example, by comparingtime periods during which the offline advertisements were not run withtime periods when such offline ads were run, an average long-run liftrate may calculated or estimated. Using such a percentage approach,during any desired time period, a quantity of lead visits received via aparticular channel may be attributed to the offline ads in proportion tothe predetermined ratio.

Once a total number of leads to be attributed to one or more offline adshas been determined, the process 300 may begin to select individualleads from the selected indirect channel to be associated with the adspot(s) in the appropriate offline channel. In some embodiments, eachselected lead may be associated with a specific advertisement spot. Forexample, according to one embodiment, each selected lead may beassociated with the ad spot that occurred closest in time prior to thetime at which the lead visit was received. In other embodiments, furtherinformation may also be used to attribute leads to ad spots, includingcorrelating geolocation or other metadata data from a lead toinformation defining a region to which ad spots were broadcast (e.g.,geographic information, demographic information or time zoneinformation).

In some embodiments, the leads to be attributed to offline ads may beselected at random. That is, of all of the leads in a given channel thatmay be selected for possible attribution to offline ads, individual leadrecords selected at random may be selected for offline attribution untilthe “lift” quantity of leads has been selected. In some embodiments,leads to be attributed may be randomly selected from a set of leadsassociated with visit events that occurred within a time period (e.g. ona particular day or during a particular day part) and/or from ageographic region associated with the time and geographic region inwhich the spot aired, or based on correlations with other knowngeographic, demographic or other associated information. In otherembodiments, leads to be attributed may be selected based on additionalqualifying information such as a number of previous visits to the site,a list of channels through which the lead has visited the networklocation, a list of devices associated with the same lead, an operatingsystem or other software used by the lead, or other information.

In further embodiments, “lift” leads to be attributed to offlineadvertisements may be selected based on device fingerprintcharacteristics. For example, an analysis of historical data of patternsof visit events may reveal that after an offline advertisement event, anincreased number of leads with particular fingerprint characteristicsmay be seen for a period of time. Thus, leads with that fingerprintcharacteristic may be weighted more heavily for offline attributionselection than other leads.

In some embodiments, the collection of leads selected for attribution tooffline ads may be allocated to ad spots based on a distribution ofgross impressions. For example, in some embodiments gross impressionvalues may be obtained for all ad spots shown within a selected timeperiod. In some embodiments, the selected time period may be 24 hours,while in other embodiments, the selected time period may be multipledays, a week, or longer. The portion of the collection of selected leadsto be attributed to a given ad spot may be proportional to the ratio ofgross impressions of that spot to the total gross impressions of allspots within the selected time period. In equation form:

L _(s) =P*(GI _(s) /GI _(total))

Where L_(s) is the number of leads attributed to a given ad spot (ormultiple spots), P is the total number of leads selected for attributionto offline ads (which may also be equal to the lift quantity), GI_(s) isthe gross impressions value for a single spot (s), and GI_(total) is thesum of all gross impression values of all spots within the selected timeperiod.

In any of the above embodiments, the lift rate (i.e., the lift quantitydivided by a total number of received visit events during a given timeperiod) may also be used for additional purposes beyond determining anumber of leads to be attributed to one or more offline ads. Forexample, in some embodiments, a lift rate may represent (or may beproportional to) a probability that a person associated with a givenlead actually saw the offline advertisement in question. In otherembodiments, the lift rate may be used as (or may be proportional to) acontribution of a particular ad event to a final total sale amountassociated with a particular lead.

In some embodiments, attribution of leads to spots may be organized intoa plurality of Attribution Modes. These include a Live Mode forassessing lift attributable to live national broadcasts, a Dual Mode forassessing lift attributable to dual or multiple time zone broadcasts, aLocal Mode for assessing lift attributable to broadcasts by localnetworks, a Halo mode for assessing lift attributable to long-termcross-channel effects, and an Assists Mode for assessing liftattributable to short-term cross-channel effects. Analysis may beorganized into several jobs, one job for each combination of day, modeand media type. For 7 days (Monday through Sunday), 5 modes (Live,Local, Dual, Halo, Assists, and 2 media types (e.g., TV & Radio), 70jobs may be created to measure one week's lead data.

In one example, the operation of processing jobs performed by a channelattribution engine for each attribution mode may be as follows:

-   -   For each Live Mode job        -   Select only leads received through the Direct channel.        -   Order spots for processing by time, Gross Impressions (“GI”)            and any special overriding configurations (e.g., always            process NetworkX first).        -   Obtain model of daily lead trends for entire day (e.g.,            based on day of week, including any seasonal or other            trends).        -   For each spot:            -   Gather leads for 30 minutes prior to the spot start time                and 90 minutes after the spot start time.            -   Establish baseline for pre-spot window.            -   Establish lift for post-spot window after accounting for                daily trend and pre/post window normalization.            -   Sample lift leads from post-spot window leads, and                attribute sampled leads to the spot.    -   For each Dual Mode job        -   For each time zone            -   Select only leads received through the Direct channel                during the analyzed day.            -   Order spots for processing by time, GI and any special                overriding configurations.            -   Obtain model of daily lead trends for entire day.            -   For each spot                -   Gather leads for 30 minutes prior to the spot start                    time and 90 minutes after the spot start time.                -   Establish baseline for pre-spot window.                -   Establish lift for post-spot window after accounting                    for daily trend and pre/post window normalization.                -   Sample leads from post-spot window leads, and                    attribute sampled leads to the spot.    -   For each Local Mode job        -   Select only leads received through the Direct channel.        -   Order spots for processing by time, GI and any special            overriding configurations.        -   Obtain model of daily trends for entire day.        -   For each spot            -   Filter leads by location using zip and city and state                (e.g., based on geolocation data associated with lead's                IP address).            -   Gather leads for 30 minutes prior to the spot start time                and 90 minutes after the spot start time.            -   Establish baseline for pre-spot window.            -   Establish lift for post-spot window after accounting for                daily trend and pre/post window normalization.            -   Sample lift from post-spot window leads and attribute                sampled leads to the spot.    -   For each Assists Mode job        -   Select leads from all channels except the Direct channel        -   Order spots for processing by time, GI and any special            overriding configurations.        -   Obtain model of daily trends for entire day.        -   For each spot            -   For each channel other than Direct                -   Gather leads for 30 minutes prior to the spot start                    time and 90 minutes after the spot start time.                -   Baseline is established for pre window.                -   Establish lift for post-spot window after accounting                    for daily trend and pre/post window normalization.                -   Sample lift from post-spot window leads and                    attribute sampled leads to the spot.    -   For each Halo Mode job        -   Select leads from all channels except the Direct channel.        -   Order spots for processing by time, GI and any special            overriding configurations made.        -   Obtain model of daily trends for entire day        -   For each spot            -   For each channel                -   Obtain channel-specific lift coefficient from                    database (e.g., obtained as the average ratio of                    lift to total leads from the trailing 6-month period                    or as the average of lifts determined by comparing                    long periods of offline ad-free time with similar                    time periods during which offline ads are run).                -   Apply lift coefficient to all un-attributed leads                    (i.e., any leads not attributed to a spot in any of                    the preceding attribution modes) received for a long                    period of time after the spot start time (e.g., 1                    day, 1 week or 1 month).

Using TV Attribution Data

After leads from the direct channel and/or various other indirectchannels have been attributed to one or more offline ad spots asdescribed above, the leads associated with the TV channel may be trackedfor any and all subsequent conversion activities (or other activities ofinterest) in the same manner as with other channels. For example, if auser behind a lead in the TV channel makes a purchase or performsanother action defined as a “conversion,” various metrics of credit forthat conversion may be entirely or partially attributed to one or moretelevision advertisements with which the lead is associated. In someembodiments, each conversion event may be associated with a one or moreamounts, representing total revenue, profit, ROI, page views or othermeasures of value received from the conversion.

As a result, over time, quantitative and qualitative conversion data maybe aggregated for each advertisement spot and/or by other meta-dataassociated with each ad spot. For example, conversion data may beaggregated by time slot, audience demographic data, audience geographicdata, television program during which ads were run, Nielsen demographicdata describing a television audience, or any other data that may beassociated with an ad spot. Aggregated lead and conversion data may beanalyzed and presented using any suitable statistical or othertechniques available.

Aggregated conversion data may then be used to evaluate theeffectiveness of specific ad spots, or of advertising strategies (e.g.,advertising during particular time slots, on a particular network,during a particular program, in a particular geographic region, or to aparticular demographic group). For example, effectiveness of an ad spotmay be evaluated by calculating a return-on-investment (ROI) for the adspot, total profit associated with an ad spot, or total revenueassociated with an ad spot. Alternatively, the effectiveness of an adspot may be evaluated based on a number of conversions, number of leads,number of conversions per spot, number of leads per spot, and/or basedon various cost metrics such as cost per spot, cost per network, costper daypart, cost per program, cost per creative, cost per day of week,etc. In some embodiments an ROI may be calculated by dividing totalrevenue from tracked conversion activity by a total cost of the ad spot.Similar calculations may be performed for determining the ROI, profit,revenue or other value metrics for various advertising strategies,demographics, time slots, geographic regions, networks, programs, etc.In other embodiments, ROI may be determined based on cost metrics withvarious denominators, such as cost per spot, cost per network, cost perdaypart, cost per program, cost per creative, cost per day of week, etc.

Case Examples

An example of a lead determination measurement is provided below,illustrating some embodiments of the systems and methods describedherein. These examples are provided for illustration and are notintended to be limiting.

In the following example of lead attribution for a single ad spot, alead is defined as including all visits to the monitored networklocation, whether those visitors are first-time visitors or returningvisitors. In the following example, a conversion is defined to includeonly sales events, the pre-spot window is defined as 30 minutes, and thepost-spot window is defined as 90 minutes. In this example, the networklocation received a total of 150 leads, 13 of which were received duringthe baseline (pre-spot) window and 137 of which were received during themeasurement (post-spot) window. Using a window normalization factor of 3(90 minutes/30 minutes), a lift value of 98 may be calculated(137−3*13). In this example, a daily normalization trend (e.g., based ona historical analysis of similar time periods) indicates that a typicalincrease of seven leads may be expected over the pre and post windows.As a result, the lift value may be reduced by 7 to account for the dailytrend, yielding a revised lift of 91.

In some cases, a long-term trend (e.g., based on monthly, seasonalyearly averages) may indicate that the lift should be further reduced.For example, a lift rate may be calculated for one or more similar adspots in the past (e.g., same time of day, same day of the week, sameprogram, same network, etc.) by calculating the lift attributable tothose spots as a percent of the total number of leads received duringthe relevant measurement windows. Such lift rates may be averaged overtime, or may be used individually to inform a new measurement. Forexample, if a historical lift rate is 64% of received leads while thecurrent measurement suggests a higher lift rate of 66%, then the lowerrate may be used in place of the new measurement, or the new rate andthe historical rate may be averaged. Continuing the above example, thelift may be reduced from 91 to 88 following an adjustment for along-term trend.

Once lift is determined, the leads may be sampled to select individualvisitors to associate with the ad spot. In some cases, sampling may beperformed minute-by-minute, whereby for each minute during the samplingwindow, leads received during that minute may be sampled if the numberof actual received leads exceeds the number of leads predicted by thedaily trend model for that minute. Leads received during that minute maybe filtered (e.g., by geography) and then sorted (e.g., chronologically)and then sampled up to a number corresponding to the lift rate.Alternatively, a similar process may be used for time blocks greater orless than one minute.

In a further example, we assume the following results were obtained overthe course of one week:100,000 total leads were received, 10,000conversions were attributed to 100 ad spots, each ad spot having beenpurchased at a cost of $500. Also during this time, a lift rate of 60%was determined. Thus, 60,000 of these leads may be attributed to adspots. However, only 5,000 of the conversions received during the weekwere attributable to this week's leads.

Using the lead recognition engine 22, the activity tracking system 20,and the lead database 50 of FIG. 1, any subsequent actions (e.g.,conversions) performed by a visitor associated with any one of the leadsattributed to a spot may also be attributed to the spot. As such, anyconversions (and associated revenue and profit) performed by thoseattributed leads may be associated with one or more ad spots.

Once attribution has been completed, and once subsequent conversion datahas been collected, the resulting raw or aggregated data may bepresented to a user or may be further analyzed and evaluated todetermine advertising spot effectiveness. For example, the performanceof TV and/or radio advertisement may be grouped and viewed by network,TV/radio program, day part, creative (i.e., the unique content of the adspot), time, ISCI (Industry Standardized Commercial Identifier) code,country, state, etc.

Metrics by which such performance may be evaluated and presented mayinclude number of spots, total leads, cost, profit, revenue, ROI, costper lead, cost per conversion, leads per spot, total conversions,conversions per spot, conversion rate (conversions/total attributedleads), cost per spot, or any other suitable metric.

Continuing the above example, dividing the week's total ad expense($500*100 spots=$50,000) by the number of leads (60,000) reveals a costper lead of $0.83. Similarly, dividing total ad expense ($50,000) by thenumber of conversions (5,000) yields the week's cost per conversion of$10. Assuming each converted lead is associated with a long-term value(LTV) of $50, this week's 500 conversions create $200,000 in forecastedfuture profit (=($50 LTV −$10 cost)×5000 conversions).

Any of the foregoing methods or embodiments may be performed entirelybased on data stored in the lead database 50 of FIG. 1. In suchembodiments, lead visits need not be counted in real-time. Similarly,baseline quantities, measurement quantities, and lift quantities may be,but need not be calculated or otherwise determined in real-time.Performing such analyses on historical data without the constraints ofimmediate real-time processing may allow for more complex analysis ofavailable data. Alternatively, some steps may be performed in real-timeas needed.

All of the features and functions described above may be performedautomatically by a computer system that comprises one or more computingdevices, each of which includes a processor containing digital logiccircuitry. The disclosed functions and features may, in someimplementations, be embodied within program code (instructions) that areexecuted by the computer system. The program code may be stored innon-transitory computer storage, such as one or more disk drives,solid-state memory drives, or other types of storage devices. Some orall of the disclosed functions may alternatively be implemented inapplication-specific hardware (e.g., ASICs, FPGAs, etc.) of the computersystem.

The specific embodiments above are intended to be illustrative and notlimiting. For example, although many of the above embodiments aredescribed with reference to attributing online behavior with televisionadvertisements, the same systems and methods may be used for attributingonline behavior to other form of “offline” advertisement, such as radioads, print ads, endorsements, etc. Additional embodiments are within thebroad concepts described herein. In addition, although the presentinvention has been described with reference to particular embodiments,those skilled in the art will recognize that changes can be made in formand detail without departing from the spirit and scope of the invention.Any incorporation by reference of documents above is limited such thatno subject matter is incorporated that is contrary to the explicitdisclosure herein.

In particular, a variety of hardware and software implementation detailsand techniques may be employed as within the level of those with skillin the relevant art. Furthermore, reference to a singular item, includesthe possibility that there are plural of the same items present. Morespecifically, as used herein and in the appended claims, the singularforms “a,” “and,” “said,” and “the” include plural referents unless thecontext clearly dictates otherwise. As used herein, unless explicitlystated otherwise, the term “or” is inclusive of all presentedalternatives, and means essentially the same as the commonly used phrase“and/or.” Thus, for example the phrase “A or B may be blue” may mean anyof the following: A alone is blue, B alone is blue, both A and B areblue, and A, B and C are blue. It is further noted that the claims maybe drafted to exclude any optional element. As such, this statement isintended to serve as antecedent basis for use of such exclusiveterminology as “solely,” “only” and the like in connection with therecitation of claim elements, or use of a “negative” limitation. Unlessdefined otherwise herein, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skill inthe art to which this invention belongs.

1.-46. (canceled)
 47. A method of attributing leads to offline events,the method comprising: determining a baseline quantity of leads receivedvia a channel during a baseline time period, the channel comprising amethod for accessing a network location; normalizing the baselinequantity to correspond to a twenty-four hour period; measuring aquantity of leads received via the channel during a measuring timeperiod; determining a channel lift quantity by subtracting the baselinequantity of leads from the measured quantity of leads; determining aquantity of leads received via the channel to associate with at leastone promotional element for the channel, based on the determined channellift quantity; selecting individual leads, of the measured quantity ofleads, based on the determined quantity of leads; associating each ofthe selected individual leads with one of a plurality of offline events;and repeating the steps of selecting individual leads and associatingeach of the selected individual leads with one of a plurality of offlineevents, until a quantity of individual leads that have been associatedwith one of a plurality of offline events equals the channel liftquantity.
 48. The method of claim 47, further comprising normalizing thebaseline quantity of leads to a 24 hour period.
 49. The method of claim47, wherein the step of selecting individual leads, based on themeasured quantity of leads, comprises randomly selecting individualleads.
 50. The method of claim 47, wherein the step of selectingindividual leads, based on the measured quantity of leads, comprisesselecting individual leads based on at least one demographic datumassociated with the leads.
 51. The method of claim 47, wherein theoffline events are television and/or radio airings.
 52. The method ofclaim 47, wherein the step of associating each of the selectedindividual leads with one of a plurality of offline events comprisesassociating each of the selected individual leads based on when each ofthe plurality of offline events occurred.
 53. The method of claim 47,wherein the step of associating each of the selected individual leadswith one of a plurality of offline events comprises associating each ofthe individual leads based on location information related to each ofthe plurality of offline events.
 54. The method of claim 53, wherein thelocation information includes geographic information, demographicinformation, and/or time zone information.
 55. A system for attributingleads to offline events, the system comprising: at least one datastorage device storing instructions for attributing leads to offlineevents; at least one processor that, upon executing the instructions forattributing leads to offline events, executes a method comprising:determining a baseline quantity of leads received via a channel during abaseline time period, the channel comprising a method for accessing anetwork location; normalizing the baseline quantity to correspond to atwenty-four hour period; measuring a quantity of leads received via thechannel during a measuring time period; determining a channel liftquantity by subtracting the baseline quantity of leads from the measuredquantity of leads; determining a quantity of leads received via thechannel to associate with at least one promotional element for thechannel, based on the determined channel lift quantity; selectingindividual leads, of the measured quantity of leads, based on thedetermined quantity of leads; associating each of the selectedindividual leads with one of a plurality of offline events; andrepeating the steps of selecting individual leads and associating eachof the selected individual leads with one of a plurality of offlineevents, until a quantity of individual leads that have been associatedwith one of a plurality of offline events equals the channel liftquantity.
 56. The system of claim 55, further comprising normalizing thebaseline number of leads to a 24 hour period.
 57. The system of claim55, wherein the step of selecting individual leads, based on themeasured quantity of leads, comprises randomly selecting individualleads.
 58. The system of claim 55, wherein the step of individual leads,based on the measured quantity of leads, comprises selecting individualleads based on at least one demographic datum associated with the leads.59. The system of claim 55, wherein the offline events are televisionand/or radio airings.
 60. The system of claim 55, wherein the step ofassociating each of the selected individual leads with one of aplurality of offline events comprises associating each of the selectedindividual leads based on when each of the plurality of offline eventsoccurred.
 61. The system of claim 55, wherein the step of associatingeach of the selected individual leads with one of a plurality of offlineevents comprises associating each of the individual leads based onlocation information related to each of the plurality of offline events.62. The system of claim 61, wherein the location information includesgeographic information, demographic information, and/or time zoneinformation.
 63. A non-transitory computer-readable medium storinginstructions that execute a method comprising: determining a baselinequantity of leads received via a channel during a baseline time period,the channel comprising a method for accessing a network location;normalizing the baseline quantity to correspond to a twenty-four hourperiod; measuring a quantity of leads received via the channel during ameasuring time period; determining a channel lift quantity bysubtracting the baseline quantity of leads from the measured quantity ofleads; determining a quantity of leads received via the channel toassociate with at least one promotional element for the channel, basedon the determined channel lift quantity; selecting individual leads, ofthe measured quantity of leads, based on the determined quantity ofleads; associating each of the selected individual leads with one of aplurality of offline events; and repeating the steps of selectingindividual leads and associating each of the selected individual leadswith one of a plurality of offline events, until a quantity ofindividual leads that have been associated with one of a plurality ofoffline events equals the channel lift quantity.
 64. The non-transitorycomputer-readable medium of claim 63, further comprising normalizing thebaseline quantity of leads to a 24 hour period.
 65. The non-transitorycomputer-readable medium of claim 63, wherein the step of selectingindividual leads, based on the measured quantity of leads, comprisesrandomly selecting individual leads.
 66. The non-transitorycomputer-readable medium of claim 63, wherein the step of selectingindividual leads, based on the measured quantity of leads, comprisesselecting individual leads based on at least one demographic datumassociated with the leads.